import re

#Router ID: 4.4.4.4          Address: 47.1.1.4  Neighbor is up for 00:00:51
#Router ID: (\S+) +Address: (\S+).+Neighbor is up for (\S+) 

regex=r'Router ID: (\S+) +Address: (\S+).+?Neighbor is up for (\S+)'
#.+禁用贪婪模式的方法是在其后面打上？问号


with open(r'c:\tools\ospf_peer1.txt') as f:
	ospf_peer=f.read()
	print(ospf_peer)

match=re.finditer(regex,ospf_peer,re.DOTALL)
for m in match:
	print(m.groups())


#Python中，re.DOTALL配合.+禁用贪婪模式，再与finditer函数搭档，其逻辑效果可以这么理解
#一整段文体，无论它跨行与否，通通看成只有一行，然后开始就近匹配，匹配中了停下来该提取的提取
#此后会再刚刚停下来的位置后方，马上再来匹配一轮就近匹配，于是一路一轮往前拱，
#直到文本最终完结
